package com.ruicar.afs.cloud.apply.business.mq.sender;

import com.ruicar.afs.cloud.apply.business.mq.callback.NotExistsCallBack;
import com.ruicar.afs.cloud.common.mq.rabbit.anno.send.AfsRabbitMqClient;
import com.ruicar.afs.cloud.common.mq.rabbit.anno.send.AfsRabbitMqSender;

@AfsRabbitMqClient
public interface ArchiveSender {

    /**申请废弃1
     * @author yaorui.zhang
     * @param entity
     */
    @AfsRabbitMqSender(serverAlias = "${com.ruicar.afs.cloud.rabbitQueue.serverAliaEams}"
            ,exchangeName = "${com.ruicar.afs.cloud.rabbitQueue.exchangeNameEams.wworder_refuse}"
            ,enableOn = "${com.ruicar.afs.cloud.rabbitQueue.exchangeNameEams.wworder_refuse}"
            ,queueName = "${com.ruicar.afs.cloud.rabbitQueue.queueNameEams.wwdocument_ordergiveup}"
            ,fallBack = NotExistsCallBack.class
            ,afsMessage=false)
    void sendWworderRefuse(String entity);

    /**放款主动废弃2
     * @author yaorui.zhang
     * @param entity
     */
    @AfsRabbitMqSender(serverAlias = "${com.ruicar.afs.cloud.rabbitQueue.serverAliaEams}"
            ,exchangeName = "${com.ruicar.afs.cloud.rabbitQueue.exchangeNameEams.wwcontract_discard}"
            ,enableOn = "${com.ruicar.afs.cloud.rabbitQueue.exchangeNameEams.wwcontract_discard}"
            ,queueName = "${com.ruicar.afs.cloud.rabbitQueue.queueNameEams.wwdocument_dealergiveup}"
            ,fallBack = NotExistsCallBack.class
            ,afsMessage=false)
    void sendWwcontractDiscard(String entity);

    /**放款待提交自动废弃5
     * @author yaorui.zhang
     * @param entity
     */
    @AfsRabbitMqSender(serverAlias = "${com.ruicar.afs.cloud.rabbitQueue.serverAliaEams}"
            ,exchangeName = "${com.ruicar.afs.cloud.rabbitQueue.exchangeNameEams.wworder_awaitloansgiveup}"
            ,enableOn = "${com.ruicar.afs.cloud.rabbitQueue.exchangeNameEams.wworder_awaitloansgiveup}"
            ,queueName = "${com.ruicar.afs.cloud.rabbitQueue.queueNameEams.wwdocument_orderawaitgiveup}"
            ,fallBack = NotExistsCallBack.class
            ,afsMessage=false)
    void sendWworderAwaitloansgiveup(String entity);

    /**放款审批通过6
     * @author yaorui.zhang
     * @param entity
     */
    @AfsRabbitMqSender(serverAlias = "${com.ruicar.afs.cloud.rabbitQueue.serverAliaEams}"
            ,exchangeName = "${com.ruicar.afs.cloud.rabbitQueue.exchangeNameEams.wwcontract_approved}"
            ,enableOn = "${com.ruicar.afs.cloud.rabbitQueue.exchangeNameEams.wwcontract_approved}"
            ,queueName = "${com.ruicar.afs.cloud.rabbitQueue.queueNameEams.wwdocument_contractend}"
            ,fallBack = NotExistsCallBack.class
            ,afsMessage=false)
    void sendWwcontractApproved(String entity);

    /**放款审批拒绝7
     * @author yaorui.zhang
     * @param entity
     */
    @AfsRabbitMqSender(serverAlias = "${com.ruicar.afs.cloud.rabbitQueue.serverAliaEams}"
            ,exchangeName = "${com.ruicar.afs.cloud.rabbitQueue.exchangeNameEams.wwcontract_refuse}"
            ,enableOn = "${com.ruicar.afs.cloud.rabbitQueue.exchangeNameEams.wwcontract_refuse}"
            ,queueName = "${com.ruicar.afs.cloud.rabbitQueue.queueNameEams.wwdocument_contractend}"
            ,fallBack = NotExistsCallBack.class
            ,afsMessage=false)
    void sendWwcontractRefuse(String entity);

    /**放款审批废弃8
     * @author yaorui.zhang
     * @param entity
     */
    @AfsRabbitMqSender(serverAlias = "${com.ruicar.afs.cloud.rabbitQueue.serverAliaEams}"
            ,exchangeName = "${com.ruicar.afs.cloud.rabbitQueue.exchangeNameEams.wwcontract_cancel}"
            ,enableOn = "${com.ruicar.afs.cloud.rabbitQueue.exchangeNameEams.wwcontract_cancel}"
            ,queueName = "${com.ruicar.afs.cloud.rabbitQueue.queueNameEams.wwdocument_contractend}"
            ,fallBack = NotExistsCallBack.class
            ,afsMessage=false)
    void sendWwcontractCancel(String entity);

    /**合同激活4
     * @author yaorui.zhang
     * @param entity
     */
    @AfsRabbitMqSender(serverAlias = "${com.ruicar.afs.cloud.rabbitQueue.serverAliaEams}"
            ,exchangeName = "${com.ruicar.afs.cloud.rabbitQueue.exchangeNameEams.wwcontract_actived}"
            ,enableOn = "${com.ruicar.afs.cloud.rabbitQueue.exchangeNameEams.wwcontract_actived}"
            ,queueName = "${com.ruicar.afs.cloud.rabbitQueue.queueNameEams.wwdocument_contractactived}"
            ,fallBack = NotExistsCallBack.class
            ,afsMessage=false)
    void sendWwcontractActived(String entity);

}
